package main

import "fmt"

// 匿名结构体并赋值
var conCfg = struct {
	user   string
	pwd    string
	dbName string
}{"root", "ut123456", "shuogg"}

// 普通结构体
type person struct {
	age  int
	name string
}

func main() {
	p := person{age: 12, name: "Tom"}
	addAge(p)
	fmt.Printf("%v ", p.age) // 12
	addAgeRef(&p)
	fmt.Printf("%v ", p.age) // 13
	structInit()             // {12 xiaoming}
}

func structInit() {
	var p *person = new(person)
	p.age = 12
	p.name = "xiaoming"
	fmt.Printf("%v", *p)
}

// 结构体是传整个副本
func addAge(p person) {
	p.age++
}

func addAgeRef(p *person) {
	p.age++ // 这里的.其实就是->
}
